package proyectoFC_2_3_3.koyicabuto.BaseDeDatos;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;

public class GruposDataBase extends SQLiteOpenHelper{

	//SQl para la creacion de la tabla de USUARIO
	private String sqlCreateTableUsuario = "CREATE TABLE IF NOT EXISTS USUARIO( " +
										   "_id            		  INTEGER NOT NULL, " +
									       "USU_NOMBRE     		  TEXT NOT NULL, " +
									       "USU_LONGITUD   		  DOUBLE," +
									       "USU_LATITUD           DOUBLE," +
									       "USU_ID_FOTO_PERFIL    INT," +
									       "PRIMARY KEY( _id )) ";
	
	//SQl para la creacion de la tabla de GRUPOS
	private String sqlCreateTableGrupos = "CREATE TABLE IF NOT EXISTS GRUPOS( " +
										  "_id            INTEGER NOT NULL, " +
									      "GR_NOMBRE      TEXT NOT NULL, " +
									      "GR_DESCRIPCION TEXT," +
									      "PRIMARY KEY( _id )) ";
	
	//SQl para la creacion de la tabla de EVENTOS
	private String sqlCreateTableEventos = "CREATE TABLE IF NOT EXISTS EVENTOS( " +
										   "_id            INTEGER NOT NULL, " +
									       "EV_NOMBRE      TEXT NOT NULL, " +
									       "EV_LONGITUD    DOUBLE, " +
									       "EV_LATITUD     DOUBLE, " +
									       "EV_GR_ID       LONG NOT NULL, " +
									       "EV_CREADOR_ID  LONG, " +
									       "EV_DESCRIPCION TEXT, " +
									       "PRIMARY KEY( _id ), " +
										   "FOREIGN KEY(EV_GR_ID) REFERENCES GRUPOS(_id)) ";
	
	//SQl para la creacion de la tabla PERSONAL_GRUPOS
	private String sqlCreateTablePersonalGrupos = "CREATE TABLE IF NOT EXISTS PERSONAL_GRUPOS( " +
												  "_id           INTEGER NOT NULL, " +
												  //En PG_PER_ID es el CONTACT_ID
												  "PG_PER_ID     LONG, " +
												  "PG_PER_NOMBRE TEXT, " +
												  "PG_PER_NUMERO TEXT, " +
												  "PG_GR_ID      LONG NOT NULL, " +
												  "PG_LONGITUD   DOUBLE, " +
												  "PG_LATITUD    DOUBLE, " +
												  "PG_USUARIO    INTEGER NOT NULL, " + //Columna 1 = True 0 = False, 
												  									  //asi vemos si es el usuario del telefono
												  "PRIMARY KEY( _id ), " +
												  "FOREIGN KEY(PG_GR_ID) REFERENCES GRUPOS(_id) ) ";
	
	//Constructor
	public GruposDataBase(Context context, String nombre, CursorFactory cursorFactory, int version){
		super(context, nombre, null, version);
	}
	
	@Override
	public void onCreate(SQLiteDatabase db) {
		
		//Creamos las tablas en caso de que no existan
		db.execSQL(sqlCreateTableUsuario);
		db.execSQL(sqlCreateTableGrupos);
		db.execSQL(sqlCreateTableEventos);
		db.execSQL(sqlCreateTablePersonalGrupos);
	}

	@Override
	public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
		db.execSQL("DROP TABLE IF EXISTS USUARIO ");
		db.execSQL("DROP TABLE IF EXISTS GRUPOS ");
		db.execSQL("DROP TABLE IF EXISTS EVENTOS ");
		db.execSQL("DROP TABLE IF EXISTS PERSONAL_GRUPOS ");
	    onCreate(db);
	}
}
